package com.命令模式.案例01.deng;

import com.命令模式.案例01.CommandInterface;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * 这是一个开灯命令【不是人，也不是物，就是一个客观存在的命令】
 * 具体开灯命令实现类
 */
@Service
public class KaiDengCommandImpl implements CommandInterface {

    /**
     * 开灯命令：绑定具体的执行者
     */
    @Autowired
    DengReceiver dengReceiver;

    /**
     * exce()：命令来了
     */
    @Override
    public void exce() {
        //真正去干活的人【真正去执行命令的人】：开灯命令下达了，我去执行开灯
        dengReceiver.on();
    }

    /**
     * undo()：撤销命令来了
     */
    @Override
    public void undo() {
        //真正去干活的人【真正去执行命令的人】：撤销命令下达了，我去执行撤销
        dengReceiver.off();
    }
}
